package com.sxran.im.service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.sxran.im.dao.ImFriendInviteMapper;
import com.sxran.im.info.ImFriendInvite;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.Date;
@Slf4j
@Service
public class FriendInviteService {
    @Resource
    private ImFriendInviteMapper imFriendInviteMapper;
    public ImFriendInvite updateOrInsert(ImFriendInvite bean){
        LambdaQueryWrapper<ImFriendInvite> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(ImFriendInvite::getFromUid,bean.getFromUid());
        queryWrapper.eq(ImFriendInvite::getToUid,bean.getToUid());

        ImFriendInvite imFriendInvite = imFriendInviteMapper.selectOne(queryWrapper);

        if (imFriendInvite == null) {
            imFriendInvite = bean;
            imFriendInvite.setUpdateTime(new Date());
            imFriendInvite.setCreatTime(new Date());
            imFriendInvite.setState(0);
            imFriendInviteMapper.insert(imFriendInvite);
        }else{
            imFriendInvite.setState(0);
            imFriendInvite.setUpdateTime(new Date());
            imFriendInvite.setMessage(bean.getMessage());
            imFriendInviteMapper.update(imFriendInvite,queryWrapper);
        }
        return imFriendInvite;
    }

    /**
     * 修改状态。
     * @param bean
     */
    public void updateState(ImFriendInvite bean){
        LambdaQueryWrapper<ImFriendInvite> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(ImFriendInvite::getFromUid,bean.getFromUid());
        queryWrapper.eq(ImFriendInvite::getToUid,bean.getToUid());
        imFriendInviteMapper.update(bean,queryWrapper);
    }
}
